{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([2, 2, 8, 8, 7, 7, 8, 7, 8, 0, 3, 3, 8, 8, 5, 8, 6, 1, 9, 0, 6, 7,\n",
       "       0, 7, 3, 2, 6, 5, 6, 6, 5, 8, 6, 9, 3, 6, 0, 5, 3, 2, 6, 8, 6, 7,\n",
       "       8, 9, 3, 3, 6, 8, 4, 5, 4, 2, 9, 4, 0, 2, 7, 4, 1, 1, 6, 8, 8, 0,\n",
       "       0, 7, 1, 0, 3, 0, 7, 1, 7, 8, 2, 5, 1, 1, 8, 3, 0, 5, 1, 8, 5, 9,\n",
       "       6, 8, 9, 7, 8, 5, 3, 8, 9, 0, 1, 3], dtype=int32)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.random.randint(0, 10, 100)\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "8    19\n",
       "6    12\n",
       "3    11\n",
       "7    11\n",
       "0    11\n",
       "5     9\n",
       "1     9\n",
       "2     7\n",
       "9     7\n",
       "4     4\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 统计每个数出现的次数\n",
    "pd.Series(x).value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 100 artists>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhQAAAGbCAYAAACcdAl1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVsElEQVR4nO3dfWxV9RnA8QctK6IUkBo2B46XiBvZiLowG18WzWZiLM4w3SLZH+rCdFu2JdMZ5Q9DUCPNNl/YArjI1GUBE0xUIGxxRtgyE5yZU3wBTcTCqswExmyrYJn27I/FGypQ2z73pbd8PslNOMdze5/+eu7h623LHVUURREAAAnH1XoAAKD+CQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACAtIZqPVBvb2/s3r07xo0bF6NGjarWwwIACUVRRHd3d5x66qlx3HFHfx2iakGxe/fumDp1arUeDgAoo46OjpgyZcpR/3vVgmLcuHGlgZqamqr1sABAQldXV0ydOrX09/jRVC0oPvo2R1NTk6AAgDrzST+u4IcyAYA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAEBa1d6+nOFv2i0bS3/e2dZaw0lq79C1iBhZ6zHcv84jee2pjaGeU9U8F0fCee8VCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYMKilWrVsXUqVNj7NixceGFF8Ybb7xRqbkAgDoy4KDYsWNH3HbbbbFu3bp49dVXY+bMmXHNNddUcDQAoF4MOCief/75aGlpibPPPjtOO+20+O53vxuvv/56JWcDAOpEw0APnD17dmzatCleeOGFmD59eqxYsSIuvvjiox7f09MTPT09pe2urq7cpADAsDWooLjyyivjrLPOioiI6dOnx9/+9rejHr906dJYsmRJfsIymXbLxj7bO9ta++zb2dY65I8zlGOG+ljVfPyRql7Xp1LnazXnGSk+vq4fV6/rUY/nSyWvt5W6X71egz7JgL/l8eyzz8aGDRvimWeeiXfeeScWLFgQl156aRRFccTjFy1aFJ2dnaVbR0dH2YYGAIaXAQfFww8/HFdddVWcc845MX78+Ljjjjtix44dsXXr1iMe39jYGE1NTX1uAMDINOBvefT29sbevXtL293d3bF///748MMPKzIYAFA/BhwUF1xwQVx99dVx9tlnx+TJk2PVqlXx6U9/OubMmVPJ+QCAOjDgoLjiiiti+/btce+998a//vWv+OIXvxiPPfZYjB49upLzAQB1YMBBMWrUqLj11lvj1ltvreQ8AEAd8l4eAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQFpDrQcYTqbdsrHP9s621j77dra1Duh+x5IjrdlQjqE8BnK+Hivq4byr5IyDvXYNx/UZburhnKolr1AAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaUMKiptvvjkuu+yycs8CANSphsHe4cUXX4wVK1bE1q1bKzEPAFCHBvUKRW9vb1x33XXx05/+NGbMmFGpmQCAOjOooLjvvvvipZdeimnTpsX69evj4MGDlZoLAKgjAw6Kd999NxYvXhwzZsyIXbt2xT333BPnn39+HDhw4IjH9/T0RFdXV58bADAyDfhnKB599NF47733YvPmzdHc3BwffPBBfOlLX4rf//73cd111x12/NKlS2PJkiVlHZahm3bLxtKfd7a11vzjlOuxPn7Modv93W8oj9XffQZzv3J97Eo+fi0fa7g5lj/3kaya17JjxYBfoXjzzTejpaUlmpubIyKioaEh5syZE6+//voRj1+0aFF0dnaWbh0dHeWZGAAYdgb8CsWUKVMO+/bGrl274txzzz3i8Y2NjdHY2JibDgCoCwN+haK1tTW2bdsW9913X7z55pvxq1/9KrZu3Rrf/OY3KzkfAFAHBhwUkyZNij/84Q/xu9/9LmbNmhXLli2LtWvXxtSpUys5HwBQBwb1D1udd955sWXLlkrNAgDUKe/lAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQ11HoA8qbdsrH0551trTWcpLIO/TwjBv651nJ9hjrzSHGsnJvHkmqe057z9cUrFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAEDakIPikksuiYceeqiMowAA9WpIQbF69ep44oknyj0LAFCnBh0U+/btixtvvDHOOOOMSswDANShhsHe4cYbb4z58+fHgQMHKjEPAFCHBhUUmzdvjqeeeipeeeWV+PGPf9zvsT09PdHT01Pa7urqGtqEAMCwN+CgeP/99+P666+PlStXxrhx4z7x+KVLl8aSJUtSwwH1Y9otG/ts72xrHdIxn/SxB3qfSn4c4HAD/hmK22+/PebOnRutrQN7Ei5atCg6OztLt46OjiEPCQAMbwN+hWLNmjWxZ8+emDBhQkRE7N+/P9auXRvPPvtsrFix4rDjGxsbo7GxsWyDAgDD14CD4q9//Wt88MEHpe2f/exn0dLSEtdcc00l5gIA6siAg2LKlCl9tk866aRobm6O5ubmsg8FANSXQf/a6Ef8K5kAwEe8lwcAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQ1lDrAY5V027Z2Gd7Z1vrYftGskM/151trTWcZODKNfORvva19EnnYq3n43Aj4esz3J4HlVTJa/twOhe8QgEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkDSoo1q1bFzNmzIiGhoY488wzY/v27ZWaCwCoIwMOih07dsS1114bbW1t8dZbb8WsWbNi4cKFlZwNAKgTAw6K7du3R1tbW3z729+OyZMnxw9+8IN4/vnnKzkbAFAnGgZ64Lx58/psv/baa3H66aeXfSAAoP4MOCgOdfDgwbjrrrvihhtuOOoxPT090dPTU9ru6uoaykMBAHVgSEGxePHiOPHEE/v9GYqlS5fGkiVLhjzYYEy7ZWOf7Z1trX327WxrrcocDN2RvobHimP5c4+Isj1XPecrw7oyUIP+tdFNmzbF8uXLY82aNTF69OijHrdo0aLo7Ows3To6OlKDAgDD16BeoWhvb48FCxbE8uXLY/bs2f0e29jYGI2NjanhAID6MOCgOHDgQMybNy8uv/zymD9/frz77rsREXHiiSfGqFGjKjYgADD8DfhbHn/6059i27Ztcf/998e4ceNKt127dlVyPgCgDgz4FYrLL788iqKo5CwAQJ3yXh4AQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAWkOtB6A2pt2ysc/2zrbWGk0CtXOk58Gh+2rxvKjU41fyOf/xmav5WMeS4X7d9goFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIA0QQEApAkKACBNUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIE1QAABpggIASBMUAECaoAAA0gQFAJAmKACANEEBAKQJCgAgTVAAAGmCAgBIExQAQJqgAADSBAUAkCYoAIC0QQfFyy+/HHPnzo2JEyfGTTfdFEVRVGIuAKCODCooenp64rLLLosvf/nL8fe//z22bdsWDz30UIVGAwDqxaCC4o9//GN0dnbG3XffHTNnzow777wzfvvb31ZqNgCgTjQM5uCtW7dGS0tLjB07NiIi5syZE9u2bTvisT09PdHT01Pa7uzsjIiIrq6uoc56VL09+/tsd3V19dn38e1KHnMkR/qch/pxqvm5HslAPk5/96n0zLU+5uPq4etcj8ccyXB/zn/SzEd7/E+633Bbj2o+f4bD17lSxwx1PSrho4/7iT/iUAzCDTfcUPzwhz/ss6+5ubnYt2/fYccuXry4iAg3Nzc3Nze3EXDr6OjotxEG9QpFQ0NDNDY29tk3ZsyY2L9/f0ycOLHP/kWLFsUNN9xQ2u7t7Y19+/bFpEmTYtSoUYN52AHp6uqKqVOnRkdHRzQ1NZX94/N/1rl6rHV1WOfqsdbVUe51Looiuru749RTT+33uEEFxcknnxwvv/xyn33d3d3xqU996rBjGxsbD4uPCRMmDObhhqSpqcmJWgXWuXqsdXVY5+qx1tVRznUeP378Jx4zqB/KnDt3bmzZsqW03d7eHj09PXHyyScPfjoAYMQYVFB89atfja6urnjwwQcjIuLOO++Mr3/963H88cdXZDgAoD4M+mcoVq1aFQsWLIibbropjjvuuPjzn/9codEGp7GxMRYvXnzYt1koL+tcPda6Oqxz9Vjr6qjVOo8qhvBPXb799tvx3HPPRUtLS0yaNKkScwEAdWRIQQEAcChvDgYApAkKACBNUAAAaSMiKLyleuWsW7cuZsyYEQ0NDXHmmWfG9u3bI8KaV9Ill1xSehffv/zlL/GFL3whmpub4+67767tYCPMzTffHJdddllp2zldXqtWrYqpU6fG2LFj48ILL4w33ngjIqxzuezduzemT58eO3fuLO3rb22rcS2p+6DwluqVs2PHjrj22mujra0t3nrrrZg1a1YsXLjQmlfQ6tWr44knnoiIiD179sQ3vvGNWLBgQWzZsiVWr14dmzdvrvGEI8OLL74YK1asiGXLlkWE60i57dixI2677bZYt25dvPrqqzFz5sy45pprrHOZ7N27N+bNm9cnJvpb26pdSwbz5mDD0WOPPVZMnDixeO+994qiKIoXXnihOO+882o81ciwYcOG4je/+U1pe9OmTcUJJ5xgzSvk3//+dzF58uTijDPOKB588MHinnvuKT7/+c8Xvb29RVEUxeOPP1585zvfqfGU9e/DDz8szjnnnOLWW28t7XNOl9cjjzxSfOtb3yptP/3008VnPvMZ61wmX/va14ply5YVEVG0t7cXRdH/OVyta0ndv0IxmLdUZ3DmzZsX1113XWn7tddei9NPP92aV8iNN94Y8+fPj5aWloj4/7l90UUXld5M7ytf+Uo899xztRxxRLjvvvvipZdeimnTpsX69evj4MGDzukymz17dmzatCleeOGF6OzsjBUrVsTFF19sncvk/vvvj5/85Cd99vW3ttW6ltR9UHR1dcX06dNL26NGjYrjjz8+/vOf/9RwqpHn4MGDcdddd8X3v/99a14Bmzdvjqeeeip+/vOfl/Z9fJ2bmppi9+7dtRhvxHj33Xdj8eLFMWPGjNi1a1fcc889cf755zuny2z27Nlx5ZVXxllnnRUTJkyILVu2xC9/+UvrXCaHruFH+lvbal1L6j4o+ntLdcpn8eLFceKJJ8bChQuteZm9//77cf3118fKlStj3Lhxpf0fX2drnPfoo4/Ge++9F5s3b44lS5bEk08+Gd3d3fHAAw84p8vo2WefjQ0bNsQzzzwT77zzTixYsCAuvfRS144K6m9tq3UtqfugOPnkk2PPnj199h3tLdUZmk2bNsXy5ctjzZo1MXr0aGteZrfffnvMnTs3Wltb++z/+Dpb47w333wzWlpaorm5OSL+fxGeM2dOvPPOO87pMnr44YfjqquuinPOOSfGjx8fd9xxR+zYscO1o4L6W9tqXUsG9eZgw9HcuXPj/vvvL217S/Xyam9vjwULFsTy5ctj9uzZEWHNy23NmjWxZ8+emDBhQkRE7N+/P9auXRsREeeee27puOeffz4++9nP1mLEEWPKlClx4MCBPvt27doV9957b/z6178u7XNO5/T29sbevXtL293d3aX/U96yZUtpv3Uun/6uy3Pnzo01a9aU/lvFriVl/zHPKvvvf/9bnHLKKcUDDzxQFEVRLFy4sJg3b16NpxoZ9u/fX8yePbv43ve+V3R3d5duBw8etOZl1NHRUbS3t5duV1xxRfGLX/yi2LNnTzFmzJjiySefLA4ePFhccsklxY9+9KNaj1vX9u7dWzQ1NRUrV64sOjo6imXLlhVjxowp/vnPfzqny+iRRx4pxo4dW9x9993F6tWri4suuqj43Oc+59pRZnHIb3n093dhta4ldR8URVEU69atK8aOHVtMmjSpOOWUU4pXXnml1iONCI8//ngREYfd2tvbrXkFXX311cWDDz5YFEVRrFy5shg9enQxceLEYvr06cXbb79d2+FGgKeffrpoaWkpTjjhhGLGjBnF+vXri6JwHSmn3t7e4rbbbitOO+20YvTo0cVZZ51V/OMf/yiKwjqX06FBURT9r201riUj5t1GvaV69Vnz6mhvb49XX301LrjggjjppJNqPc6I5pyuDutcOf2tbaWvJSMmKACA2qn73/IAAGpPUAAAaYICAEgTFABAmqAAANIEBQCQJigAgDRBAQCkCQoAIO1/4Cy16mHIEDsAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.bar(range(100), x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 直方图\n",
    "# plt.hist(x)\n",
    "# plt.hist(x, bins=5)\n",
    "plt.hist(x, bins=[0,3,6,9,10])\n",
    "\n",
    "plt.xticks(range(10))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pandas获取Excel数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>学号</th>\n",
       "      <th>分数</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>A0001</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>A0002</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>A0003</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>A0004</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>A0005</td>\n",
       "      <td>65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>995</th>\n",
       "      <td>A0996</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>996</th>\n",
       "      <td>A0997</td>\n",
       "      <td>65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>997</th>\n",
       "      <td>A0998</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>998</th>\n",
       "      <td>A0999</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>999</th>\n",
       "      <td>A1000</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1000 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        学号  分数\n",
       "0    A0001  76\n",
       "1    A0002  80\n",
       "2    A0003  81\n",
       "3    A0004  73\n",
       "4    A0005  65\n",
       "..     ...  ..\n",
       "995  A0996  79\n",
       "996  A0997  65\n",
       "997  A0998  76\n",
       "998  A0999  81\n",
       "999  A1000  71\n",
       "\n",
       "[1000 rows x 2 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_excel('data/plot.xlsx', sheet_name='hist')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = df.分数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000, 2)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(np.int64(47), np.int64(103))"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x.min(), x.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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00/T6AAAYLw74RA5fPiwFi1apOuvv15LlixRJBJRJBJRYWGhwuGwqqqqJEnl5eWaN2+eEhMTVVJSor1792r37t0aGBjQ+vXrVVxcPGaLAQAA48sJf2vmueeeU2trq1pbW/Xoo4/G97e1tWnLli0qLS1VWVmZJk2apJdeekmSFAgEVFlZqQULFsjn8yk9PT3+O0YAAABOOESuv/76Ib8x9VgzZ87UgQMH1NDQoIKCAmVmZsaPLV++XMXFxdq/f78KCwvl8/lOfWoAADAhjPrFqp9m2rRpWrhw4XGP5eTkDPkxXgAAAIk3vQMAAIYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZggRAABghhABAABmCBEAAGCGEAEAAGYIEQAAYIYQAQAAZkYdIl1dXcrJydF7770X39fS0qJgMKiMjAyVlZXJcZz4sT179igvL0+BQEAVFRWnZWgAADAxjCpEurq6tGjRoiEREovFtHjxYs2ZM0f19fVqbW1VdXW1JKmzs1MlJSUqLS1VXV2dampqVFtbezrnBwAA49ioQuSmm27SzTffPGTfzp071dPTo4qKCs2aNUvl5eXaunWrJKmmpkZZWVlavXq1cnNztWbNmvgxAACAUYXIo48+qhUrVgzZ19TUpIKCAqWkpEiS8vPz1draGj9WVFSkhIQESdLcuXPV0NDwqR8/FospHA4PuQEAgIlrVCGSk5MzbF84HB6yPyEhQYmJieru7h52LDU1VR0dHZ/68deuXau0tLT4LTs7ezTjAQCAceaU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ClVWVur1119XOBzWkiVLJvz6u7q6tGjRoiGfaEda80T8vHC8czDSfpPnhOMSoVDIOffcc52LL77YqaqqciorK51LLrnEGRwcdBzHcf785z87S5cuNZ5ybAwMDDipqalOb2/vkP1/+tOfnIyMDOfjjz92HMdx9u3b53z1q1+1GHHM/fe//3WuuuoqZ/Xq1fF9blr/Jz3wwAPOD37wA9dcB9u3b3e+853vxLdfeeUV57zzznPNc+C73/2uc+edd8a333jjDUeS88c//nFCr/+b3/yms2HDBkeS09bW5jjOyNf9RLwejncORtpvcU245isiK1eu1JIlS1RQUCBJampqUlFRUfzN9ObOnauGhgbLEcdMc3OzBgcHdfnll2vKlCmaP3++PvjgAzU1NamgoCD+1tf5+flqbW01nnZsPPLII2pubtbMmTP17LPPqr+/31XrP1Y0GtWGDRt09913u+Y6mD17tl588UXt27dPPT09evjhh3Xddde55jnQ1dWl888/P7599DdbNzc3T+j1P/roo1qxYsWQfSP9nU/E6+F452Ck/RbXhCtCpLa2Vi+88ILWr18f3xcOh5WTkxPfTk1NVUdHh8V4Y661tVUXX3yxnnjiCb3++uvyeDy67bbbhp2DhIQEJSYmqru723Da0y8Sieiee+7RhRdeqPfff1+VlZX62te+5pr1f9K2bdt01VVXaebMma65DmbPnq1vf/vbuuKKK5Senq66ujr99re/dc1z4Morr9Rf//pXDQ4OSvrfa4aCweCEX/+xaztqpDVPxOvheOdgpP0Wz4kJHyLRaFS33367Nm3apKlTp8b3ezyeIb/S1uv1qq+vz2LEMbd06VLV19fr6quvVm5urh5++GE9//zzGhwcHPZrfSfieXjmmWf08ccfq7a2Vvfee6+ef/559fb26rHHHnPF+j/pkUce0fLlyyW55zp47bXX9Je//EWvvvqqDh06pNLSUi1YsGDY+qWJeQ5+9rOfaXBwUFdeeaWuvvpqrVu3Tj/+8Y9ds/5jjbRmt1wPI7F4Tkz4ELn//vsVDAa1cOHCIfv9fr86Ozvj2729vUpKSjrT45n4/Oc/r8HBQU2bNm3IOZAm5nn497//rYKCAgUCAUn/u9Dy8/N16NAhV6z/WO+8847eeecdXXfddZLccx08+eSTuummm3TVVVcpLS1Nv/rVr3TgwIFh65cm5jlIT0/Xyy+/rKefflqXXXaZLrnkEt18882uWf+xRlqzW66HkVg8JyZ8iGzbtk07duxQenq60tPTtW3bNt1xxx16/PHHVVdXF79fY2Ojpk+fbjjp2CkrK9O2bdvi23V1dZo0aZIuvfTSIeegra1NsVhMfr/fYswxM2PGDB0+fHjIvvfff18PPvigK9Z/rKeeekqLFi3S5MmTJUnBYNAV18Hg4KD+85//xLd7e3vj/wN203MgKytLzzzzjNauXavExMRhf/8Tff3S8Of8sWt2y/UwEpPnxJi+FPYs0N7e7rS1tcVvN9xwg/Ob3/zG6ezsdLxer/P88887/f39zvz584e8qnwieeKJJ5ycnBxn9+7dzq5du5yLLrrIueWWW5yBgQHnnHPOcR577DHHcRxn2bJlzqJFi4ynPf26urqc1NRUZ9OmTU57e7uzYcMGx+v1Oh988IEr1n+swsJCZ+vWrfFtt1wH27dvd1JSUpyKigqnpqbGKSoqci644AKnv7/fVc+BdevWOYWFhfFtt/wboGN+MmSkNU/k60Gf+OmYT9tv8ZyY8CHySd/73vecqqoqx3EcZ9OmTc7kyZOdjIwMJycnx/noo49shxtDd911l5OWlub4/X5nxYoVTiQScRzHcXbs2OGkpKQ4mZmZzjnnnOO88cYbxpOOjVdeecUpKChwpkyZ4lx44YXOs88+6ziOe9bvOI7T19fnJCUlOW+++eaQ/W64DgYHB5377rvPOf/8853Jkyc7V1xxhfOvf/3LcRz3PAcOHjzo+P1+57XXXhuy3w3r/+Qn25HWPFGvhxMNEcc5888J17/7bltbm/bv36/CwkL5fD7rcUx89NFHamhoUEFBgTIzM63HOePcvn6J68DtzwE3rn+kNbv9epDO7HPC9SECAADsTPgXqwIAgLMXIQIAAMwQIgAAwAwhAgAAzBAiAADADCECAADMECIAAMAMIQIAAMwQIgAAwMz/A/rT5Y8gdMaSAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(x, bins=range(40, 111, 10), facecolor='b', alpha=0.4 , edgecolor='k')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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tJ5//nmrt7fXmjt37oC73+NJdXW1lZ+fb73wwgtWTU2NddFFF1lLly61Pv74Y+vcc8+1HnvsMcuyLGvZsmXWtddea/Nsz7yjR49aaWlp1pYtW6zm5mZr48aNltPptN5///2EWP+JrrrqKmvr1q3h7US5Dp566inL5XJZ69evt5544gmrqKjIGjNmjNXb25tQr4EHH3zQuuqqq8LbifLfAJ3wGyyR1hzP14M+81s8p9pvx2sioSPls26++WarsrLSsizL2rJlizV8+HDL7XZb+fn51pEjR+yd3Fn005/+1EpPT7cyMzOtFStWWMFg0LIsy9q1a5flcrmsrKws69xzz7Xefvttm2d6drz22muWx+OxRo4caY0dO9Z69tlnLctKnPVblmV1dXVZI0aMsP79738P2J8I10F/f791//33WxdccIE1fPhw6/LLL7f+9a9/WZaVOK+Bjz76yMrMzLTeeOONAfsTYf2f/UIcac3xej1EGymW9eW/JvgryBE0NTXpnXfe0VVXXaXU1FS7p2OLI0eOqL6+Xh6PR1lZWXZP50uX6OuXuA4S/TWQiOuPtOZEvx6kL/c1QaQAAAAjJfSNswAAwFxECgAAMBKRAgAAjESkAAAAIxEpAADASEQKAAAwEpECAACMRKQAAAAjESkAAMBI/wvOAS8tgOBiMwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 概率分布：density=True\n",
    "plt.hist(x, bins=range(40, 111, 10), facecolor='b', alpha=0.4 , edgecolor='k', density=True)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
